A>type felix.doc
    FELIX MICROCOMPUTER ANIMATION SYSTEM
         --VERSION 2.1--


    THE UNIVERSITY OF TENNESSEE/KNOXVILLE
    COMPUTER SCIENCE DEPARTMENT
    SEPTEMBER 18,1979

    MICHAEL MOSHELL, PROJECT DIRECTOR
    LEE WITTENBERG, RESIDENT SOFTWARE GNOME
      AND A FINE SUPPORTING CAST, INCLUDING:

         JANE KIENENGER,JIM MCCRAE,TYE SHULTZ,CLEMENT WONG,
         MUKESH SUNDARAM,AND MANY OTHERS.

         1. OVERVIEW

         FELIX IS A SIMPLE ANIMATION SYSTEM WHICH USES
         THE CROMEMCO TV DAZZLER AND D+7A ANALOG-TO-DIGITAL
         CONVERTER WITH TWO JOYSTICKS, TO PRODUCE AND
         EXECUTE SIMPLE STICK FIGURE ANIMATIONS. THE
         END GOALS OF THE PROJECT ARE THESE:

                 A: TO PROVIDE CLASS AND INDIVIDUAL STUDY PROJECTS
                    FOR ENTERTAINMENT,EDIFICATION AND EDUCATION
                    IN MICROCOMPUTER SOFTWARE AND GRAPHICS
                   ISSUES OF ALL SORTS.

                 B: TO BUILD A BASIS UPON WHICH CAN BE ERECTED A
                    SUPERSTRUCTURE OF SOFTWARE FOR USE IN ELEMENTARY
                    AND SECONDARY COMPUTER SCIENCE EDUCATION.

                 C: TO PROVIDE A 'COMMON GROUND' FOR HOBBYESTS AND
                    ACADEMICS (AND ANYONE ELSE) WANTING TO EXCHANGE
                    IDEAS IN ANIMATION.

         FELIX IS FULLY DEFINED AN DOCUMENTED IN THREE TECHNICAL REPORTS
                 (FELIX REPORTS 1,2,3,OBVIOUSLY) WHICH ARE AVAILABLE
                 FROM THE UNIVERSITY OF TENNESSEE
                          COMPUTER SCIENCE DEPARTMENT
                          (ATTENTION: MICROCOMPUTER CLUB)
                          KNOXVILLE, TN 37916
                 FOR $10.00. THE SOFTWARE, IN
                 SOURCE CODE AND EXECUTABLE FORM, IS AVAILABLE THROUGH THE
                 CP/M USER'S GROUP OR FROM THE ABOVE ADDRESS.

         TWO VOLUMES OF SOFTWARE EXIST: THE BASE VOLUME,
                 CONTAINING FELIX VERSION 2.1 WITH ALL SOURCE CODE, .COM
                 FILES FOR ALL THE UTILITY PROGRAMS, AND SOME EXAMPLES;

                 VOLUME 2,CONTAINING SOURCE CODE FOR THE UTILITY PROGRAMS,
                 AND MANY MORE CARTOON AND ARTISTIC EXAMPLE PROGRAMS.

                 EACH VOLUME IS AVAILABLE FOR $10.00 FROM THE ABOVE ADDRESS.

         2. CONCEPTS OF FELIX

         FELIX IS BASED ON THE NOTION OF A 'PSEUDO-MACHINE', WHICH IS
                 ACTUALLY AN INTERPRETER PROGRAM EXECUTING A LANGUAGE
                 THAT LOOKS LIKE MACHINE-CODE FOR SOME MICROPROCESSOR.
                 THE SPECIAL FEATURE OF FELIX-CODE IS THAT SIMPLE ONE-
                 OPCODE COMMANDS CAN CAUSE COMPLEX SCREEN EVENTS TO
                 OCCUR, RESULTING IN CARTOONS OR KINETIC ART BEING
                 DESCRIBED BY RATHER SHORT SIMPLE PROGRAMS.

         THE PSEUDO-MACHINE ALSO ALLOWS US TO AT LEAST DREAM OF  
		TRANSPORTABILITY
                 IN THE SENSE THAT WHEN PSEUDO-MACHINE INTERPRETERS ARE WRITTEN
                 FOR OTHER HARDWARE (APPLE IS UNDERWAY) THE CARTOONS,
                 AND OTHER CODE CAN BE CARRIED RIGHT ALONG WITHOUT A LOT OF
                 REWRITING.

         THE MOST EXCITING CONSEQUENCE OF THIS IS THAT HIGHER-LEVEL LANGUAGES,
                 FELIX UTILITIES, ASSEMBLERS,EDITORS,ETC CAN
                 BE EXPRESSED IN FELIX CODE ITSELF, AND EXECUTE RAPIDLY ON
                 ANY PRESENT OR FUTURE HARDWARE YOU MIGHT CHOOSE TO FAVOR
                 WITH THE CREATION OF THE PSEUDO-MACHINE.

         2. DETAILS: HOW DOES IT WORK?

         IT'S REALLY HARD TO TELL YOU MUCH WITHOUT A FIFTY PAGE TECH REPORT,
                 WHICH IS NOT AVAILABLE RIGHT NOW IN DISK-STORABLE FORM.
                 (IT HAS PICTURES IN IT,FOR INSTANCE). IN BROAD OUTLINE  WE
                 HAVE AN ASSEMBLER (FASM) WHICH TAKES PSEUDO-MACHINE ASSEMBLER
                 LANGUAGE (.FAS FILES) AND PRODUCES EXECUTABLE FELIX FILES
                 (.FEX). THEN THE 'DOODLER' PROGRAM IS USED TO CREATE SCREEN
                 OBJECTS AND BACKGROUNDS TO GO WITH THE FILES, (OBJECTS AND
                 SCENES CAN ALSO BE STORED USING 'LOADOB,STOREOB',ETC)
                 AND THE ENTIRE MESS SAVED OR EXECUTED. THE FOLLOWING SHOULD
                 GIVE YOU ENOUGH INFORMATION TO DECIDE WHETHER TO ORDER THE
                 TECH REPORTS.

         3. AN EXAMPLE

         THE PROGRAM 'PAINTER' IS A GOOD STARTING PLACE. THIS PROGRAM MOVES
                 SEVERAL (PAINT-BRUSHES) ABOUT THE SCREEN; THE BRUSH TO MOVE
                 IS SELECTED IN YOUR SWITCH REGISTER (HOPE YOU HAVE ONE).
                 PUSHING THE BUTTONS ON THE CROMEMCO JOYSTICKS SELECTS COLORS
                 IN WHICH TO PAINT. AN ADDED A/D CHANNEL (CHANNEL 1D,EASY
                 TO PATCH INTO YOUR JOYSTICK-2; SEE TECH REPORT 3 FOR HOW )
                 ALLOWS CONTROL OVER THE ROTATION OF THE JOYSTICK-MOVED
                 PAINTBRUSHES....IF YOU HAVEN'T MADE THIS MOD, USE THE
                 VERSION CALLED 'PAINT' RATHER THAN 'PAINTER'.

         THE COMMANDS.

         A>FELIX

         --THIS LOADS IN FILES FELIX.OBJ AND SINCOS.OBJ IN HIGH RAM
           (5000 AND 4000 RESPECTIVELY),FOR USE BY EVERYONE ELSE.

         A>EXEC PAINTER&

         --THIS EXECUTES A VERSION OF PAINTER WHICH INCLUDES OBJECTS 0
         THROUGH 7,PRE-DEFINED FOR YOU.SELECT WITH SWITCH-
           REGISTER,GO TO IT. PAINT SOME STUFF.

           TYPE CONTROL-C TO EXIT THE EXECUTION OF A PROGRAM.

         A>TYPE PAINTER.FEX

         --THIS LETS YOU LOOK AT THE PROGRAM YOU JUST RAN,JUST INCASE IT
           MIGHT BE COMPREHENSIBLE.

         A>DOODLE

         --THIS LETS YOU DEFINE SOME NEW OBJECTS TO PAINT WITH.

         SELECT OBJECT NUMBER:1   --YOU DECIDE TO DRAW OBJECT 1.
         R       --YOU SELECT A RED COLOR TO PAINT.
         !       --YOU MAKE IT HIGH-INTENSITY
         IIIII   --YOU TYPE KEYS AROUND THE 'K' KEY TO MOVE AND DRAW
                   WITH THE MOVING CURSOR. ZERO '0' TURNS OFF THE COLOR
                   TO MOVE THE CURSOR. YOU CAN TURN IT ON AGAIN WITH ANOTHER
                   COLOR SELECTION.
         CTRL/N  --SELECTS ANOTHER OBJECT TO WORK ON.
         Z       --CLEARS SCREEN (NOT THE ACTUAL STORED OBJECTS)
         CTRL/C  --RETURNS YOU TO CP/M

         A>EXEC PAINTER  -EXECUTES A 'PAINTER' WITHOUT DEFINED OBJECTS
                          SO YOUR DOODLED ONES WILL BE MOVABLE NOW.

         4: CONVENTIONS

         FILENAMES: .FEX ARE 'EXECUTABLE' - WITH OR WITHOUT OBJECTS,ETC.
                    .FAS ARE 'FELIX SOURCE'
                    .PRN ARE LISTINGS, PRODUCED BY FASM.INCLUDES ERROR MSGS.
                    .PIC ARE OBJECTS, STORED BY SAVEOB.
                    .SCN ARE BACKGROUNDS,STORED BY SAVEBACK.
                    '&' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS ARE
                         INCLUDED WITH THE FILE (SEE HOW SHORTLY)
                    '#' IN A FILENAME (TYPE .FEX) MEANS THE OBJECTS AND BACK-
                         GROUND ARE INCLUDED.

         5: HOW DOES IT WORK?

         IN VERY BRIEF OUTLINE, FELIX MAINTAINS 'SDATA OBJECTS' IN A
         LINEAR LIST STORAGE SYSTEM; WHENEVER THE 'SHOW' OPERATOR IS EXECUTED
         THE OBJECTS ARE ROTATED IF NECESSARY AND PROJECTED ONTO
         THE SCREEN. FELIX IS DEFINED WITH A 255 X 255 DISPLAY SPACE AND ONLY
         A FEW ROUTINES RELY ON THE TV DAZZLER, CROMEMCO JOYSTICKS, OR  
	   ANY OTHER SPECIFIC HARDWARE. YOU ARE INVITED TO EXPLORE THE SOURCE CODE.

         6: EXTENSIONS  AND OTHER VERSIONS

         ONE REASON WE ARE DISTRIBUTING 'FELIX' IS THAT WE WANT FOLKS TO
                 EXPERIMENT IN ANIMATION; TO TRY OTHER IDEAS AND TO SEND THEM
                 TO US! YOU ARE FREE TO DO ANYTHING YOU LIKE EXCEPT TO
                 PROMULGATE ANY 'OFFICIAL' EXTENSIONS TO FELIX. TO FACILITATE
                 EXPERIMENTATION WE HAVE INCLUDED FOUR OPCODES, 'USER1,...USER4'
                 IN THE FASM ASSEMBLER,PRODUCING OPCODES C0,C1,C2,C3. YOU CAN
                 USE THESE TO TRY NEW STUFF. YOU CAN OF COURSE GET COPIES OF
                 THE FASM ASSEMBLER FROM VOLUME II OF THIS DISTRIBUTION AND
                 PATCH THE LOOKUP TABLE TO INCLUDE YOUR OWN OPERATORS; OR
                 BUILD .FEX FILES DIRECTLY. WE DID IT FOR A YEAR...IT AIN'T
                 IMPOSSIBLE.

         OUR FUTURE PLANS INCLUDE AN ADVANCED FELIX, VERSION 3, ABOUT THIS
                 TIME NEXT YEAR; THIS WILL INCLUDE A HOST OF NEW OPERATORS
                 AND OBJECT MAKERS,ETC, AND A HIGHER-LEVEL LANGUAGE WITH
                 STRUCTURED CONTROL WHOSE COMPILER RUNS ON THE PSEUDO-MACHINE.
                 WE WELCOME SUGGESTIONS AND INPUTS.

A>

The ARK contains volume 1 of FELIX v2.1 I quess.
The university's computer doesn't seem to have any of the other docs. The
technical reports before 1989 seem to be erased/lost. At least they are not
where they are/were/supposed to be.

Rodger
